\section*{Preface}

There are several popular meanings of the term \q{\gls{reverse engineering}}:
1) The reverse engineering of software: researching compiled programs;
2) The scanning of 3D structures and the subsequent digital manipulation required in order to duplicate them;
3) Recreating \ac{DBMS} structure.
This book is about the first meaning.

\subsection*{Topics discussed in-depth}

x86/x64, ARM/ARM64, MIPS, Java/JVM.

\subsection*{Topics touched upon}

\oracle (\myref{oracle}),
Itanium (\myref{itanium}),
copy-protection dongles (\myref{dongles}), 
LD\_PRELOAD (\myref{ld_preload}),
stack overflow,
\ac{ELF},
win32 PE file format (\myref{win32_pe}),
x86-64 (\myref{x86-64}),
critical sections (\myref{critical_sections}),
syscalls (\myref{syscalls}), 
\ac{TLS},
position-independent code (\ac{PIC}) (\myref{sec:PIC}), 
profile-guided optimization (\myref{PGO}),
C++ STL (\myref{cpp_STL}),
OpenMP (\myref{openmp}),
SEH (\myref{sec:SEH}).

\subsection*{Prerequisites}

Basic C \ac{PL} knowledge.
Recommended reading: \myref{CCppBooks}.

\subsection*{Exercises and tasks}

\dots 
are all moved to the separate website: \url{http://challenges.re}.

\subsection*{About the author}
\begin{tabularx}{\textwidth}{ l X }

\raisebox{-\totalheight}{
\includegraphics[scale=0.60]{Dennis_Yurichev.jpg}
}

&
Dennis Yurichev is an experienced reverse engineer and programmer.
He can be contacted by email: \textbf{\EMAIL{}} or Skype: \textbf{dennis.yurichev}.

% FIXME: no link. \tablefootnote doesn't work
\end{tabularx}

% subsections:
\input{praise}
\input{thanks}
\input{FAQ_EN}

\subsection*{About the Korean translation}

In January 2015, the Acorn publishing company (\href{http://www.acornpub.co.kr}{www.acornpub.co.kr}) in South Korea did a huge amount of work in translating and publishing 
my book (as it was in August 2014) into Korean.

It's now available at \href{http://go.yurichev.com/17343}{their website}.

\iffalse
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{acorn_cover.jpg}
\end{figure}
\fi

The translator is Byungho Min (\href{http://go.yurichev.com/17344}{twitter/tais9}).
The cover art was done by my artistic friend, Andy Nechaevsky:
\href{http://go.yurichev.com/17023}{facebook/andydinka}.
They also hold the copyright to the Korean translation.

So, if you want to have a \IT{real} book on your shelf in Korean and 
want to support my work, it is now available for purchase.

\subsection*{About the Persian/Farsi translation}

In 2016 the book has been translated by Mohsen Mostafa Jokar (who is also known to Iranian community by his translation of Radare manual\footnote{\url{http://rada.re/get/radare2book-persian.pdf}}).
It is available on the publisher’s website\footnote{\url{http://goo.gl/2Tzx0H}} (Pendare Pars).

40 page excerpt: \url{https://beginners.re/farsi.pdf}.

Registration of the book in National Library of Iran: \url{http://opac.nlai.ir/opac-prod/bibliographic/4473995}.

\subsection*{About the Chinese translation}

In April 2017, translation to Chinese has been finished by Chinese PTPress publisher. They are also the Chinese translation copyright holder. 

 It's available for order here: \url{http://www.epubit.com.cn/book/details/4174}. Some kind of review and history behind the translation: \url{http://www.cptoday.cn/news/detail/3155}.

Principal translator is Archer, to whom I owe so much. He was extremely meticulous (in good sense) and reported most of known mistakes and bugs, which is very important to literature like this book.
I'll recommend his services to any other author!

Guys from \href{http://www.antiy.net/}{Antiy Labs} has also helped with translation. \href{http://www.epubit.com.cn/book/onlinechapter/51413}{Here is preface} written by them.


